howm のリマインダの inline 実装
inajob.iconさんが作ったinline上のタスクリストを見つけたtakker.icon https://gyazo.com/a413e6f3aee40e4401b7b96b467c56d9
赤が期限切れのTODOかな
1以上で赤くなる、浮遊は0までしか上がってこないので、こうならないinajob.icon
やるべきことと気にかけたいものとで色分けしているということかtakker.icon
作った時は基本は赤が出てこないように運用できると思っていたwinajob.icon
赤にずっといるものは、こっそり浮遊に切り替えたりしている
草takker.icon
ではなく、スコアが0のタスクかな?
白TODOはまだ底に沈んでいるTODO
白浮遊と灰浮遊の違いがわからない。なんだろう?
スコアが-10以下は非表示にしようかな?どうしようかな?と思ってとりあえず色を付けて様子を見ているinajob.icon
あれ、値が大きい方が上位でしたっけ?takker.icon
少なくとも自分の実装はそうしてます。本家は知らないですinajob.icon
なるほどですtakker.icon
+0って意味あるのかな?デフォルトの+(=+7)でいいと思うけど
そんな気がする、雰囲気でやっているinajob.icon
ぜんぜんわからない 俺たちは雰囲気でタスク管理しているtakker.icon
リンククリックで該当項目にジャンプ
https://gyazo.com/3550d5e8e6b63aa626404a336564a6e7
スマホだと位置がずれるっぽい
行にフォーカスする機能はないので単にSPAでスクロール位置が保存されているだけですねinajob.icon
見つかったinajob.icon
scheduleブロック記法で、これが展開されるので、どこでもこれを書くと出てきます
今は使っていないけど
一時期日記ページに毎回書いていた
今はサイドペインができたので、Dashboardをサイドペインに出すようにしている
リンクの横の*をクリックすると右ペインに表示できる(便利)
これそういう意味だったのかtakker.icon
締め切り、覚書、全く使っていないな
趣味タスクしか無いから締め切りないし
自分は浮遊にして放置派inajob.icon
スコア計算実装
優先度最低は-9999で擬似的に再現している
生HTMLを作ってて恐れ入った
あの……react……
うごけば良いinajob.icon
この時はReactよくわかってなくて、全体的に生のHTMLを作ってます・・
既存のライブラリとかを使うときも出力がHTMLの物とかが多くて、HTMLのレンダリングは自前という方針でやっていた
行やブロックごとにReactでキャッシュさせているので、無意味ということはない
シンタックスハイライトとか
うごけば良い大事takker.icon
コンソール見たらinvalid schedule [2023-05-18ポッドキャストテスト]が出力されてた
おや、消しておこう doneinajob.icon
単に対象行を消しただけ、パーサーを賢くすれば、そもそもスケジュールと認識しないようにもできそう
serverでパースしたスケジュールを、clientで更にパースしてるみたい?takker.icon
code:js
case "schedule":
ret += "<span class='mode'>>> schedule</span>";
global.sendSearchSchedule().then((resp) => {
resp.json().then((o) => {
let body = [];
body.push("<span class='mode'>>> schedule</span>")
o.lines.forEach((v)=>{
server側で雑にパースして、clientで正確にパースしているのかな
バグ発見
line 287
code:js
case "-": // note
v.label = "覚書";
if(!number){
number = 7;
}
// その日に優先度が0となり X日かけて沈んでいく
if(today.getTime() < date.getTime()){ // その日が来るまで現れない
v.priority = -9999;
}else{
// TODO: 指定日以降は現れない
v.priority = Math.floor((today.getTime() - date.getTime())/oneday);
}
break;
-{number}はnumber日で1沈む識別子のはず
v.priority = Math.floor((today.getTime() - date.getTime())/oneday);だとnumberに関係なく沈み具合が決まってしまう
v.priority = -Math.floor((today.getTime() - date.getTime())/number);で直るかな?
ん?バグじゃなくて未実装なだけか
// TODO: 指定日以降は現れないとある
てかよく見たらv.priority = Math.floor((today.getTime() - date.getTime())/oneday);は他の処理をそのままコピペしただけか
+もなにか変な気がする
JavaScriptはこうやって人に見られてしまうのが面白いinajob.icon
そして、よく考えたらinline全体は実はソースを公開しているので、URL貼っておきます
リポジトリ名からしてやる気を感じない
scheduleのパーサー(サーバ側)
セキュリティ上まずいところがあったら、突かずにそっと教えてね
公開してたの知らなかったtakker.icon
repo名がinlineと関係なかったから気づかなかった
ToDoや締め切りが浮遊タスクに紛れ込んでわかりにくくなる
今のところいい感じ